const express = require('express');
const app = express();
const mongoose = require('./db');

/*创建一个博客类
* 包含标题,时间,作者,正文*/

/*通过一个schema创建类,可以设置属性,也可以设置方法
* 因为类的方法包含两种,一种静态方法,一种实例方法,构造函数调用静态方法,对象调用实例方法,在mongoDB中是通过使用methods来扩展实例放*/

const blogSchema = mongoose.Schema({
    title: String,
    time: Date,
    author:String,
    body:String,
    comments:[{body:String,currentTime:Date}]
})

blogSchema.methods.showInfo = function () {
    console.log(this.title);

}

// Schema-> model
// 第一个参数：model的名字
// 第二个参数： 需要用哪个Schema创建这个model
// 第三个参数： 存放在mongodb你的集合名字
const Myblog = mongoose.model('Myblog', blogSchema,'myblogssss');

/*//Model -> Entity创建对象-需要向数据库中保存的数据*/
const testBlog = new Myblog({title:'大家学习',titme:new Date(),author:'大家',body:'大家好好学习,不要数据',comments:[{body:'大家哈好好学习',currentTime:new Date()}]});

/*save保存方法*/
testBlog.save(function (err,reslut) {
    if (!err) {
        console.log('保存成功');
        console.log(reslut);
    }
})

// testBlog.showInfo();

/*删除所有*/
// Myblog.remove({title:'大家学习'},function (err,reslut) {
//     console.log(reslut);
// })

/*先查找到这条数据再删除这条数据*/
Myblog.findOne({title:'大家学习'},function (err,doc) {
    /*doc就是查找到的这条数据*/
    doc.remove(function (err,res) {
        console.log(res);
    })
})


/*处理静态路由*/
app.use(express.static('./public'));

app.listen(80, '127.0.0.1');
